上一篇講到,一套活了幾十年的系統,最後很可能不再像一套系統。
比較像是一段放了很久的木頭。
每隔幾年,有人來種一朵香菇。
再過幾年,又有人覺得前面的香菇不好改,於是換個角度再種一朵。
時間久了,木頭還在。
香菇也都還在。
最神奇的是:
大家每天還真的靠這批香菇工作。
所以接手之後,第一個問題通常不是:
「要不要重做?」
而是:
「現在到底發生了什麼?」
你原本以為只有一套系統。
盤完之後發現有五套。
再盤一次,變成八套。
其中兩套大家都說已經不用了。
可是關掉測試環境之後,某個單位突然打電話來:
「我們那個功能怎麼不能用了?」
於是「已經不用」正式更名為:
平常看起來沒人在用。
接著你會發現,有些系統名字不同,做的事情卻很像。
有些系統名字一樣,做的事情完全不同。
還有一些東西,根本沒有人叫得出正式名稱。
大家只會說:
「就是那個舊的。」
「不是那個舊的,是更舊的那個。」
「喔,你說藍色畫面的?」
這時候你會開始理解,為什麼資訊治理最後常常會變成一門語言學。
因為只要東西沒有名字,就沒辦法治理。
你不能說:
「把那個舊系統權限收回來。」
哪一個舊系統?
你也不能說:
「這個資料庫要保留。」
為什麼保留?
誰在用?
哪個流程依賴?
所以第一步其實非常樸素:
把東西一個一個叫出名字。
這個是原生系統。
這個是後來加的外掛。
這個是另外一個時代做的入口。
這個負責查詢。
這個負責寫入。
這個看起來沒人在用,但月底會跑。
這個沒有畫面,可是不能死。
這個大家每天都看得到,其實只是外殼。
當這些東西終於有名字之後,組織才第一次有機會回答:
我們到底擁有什麼。
不是漂亮的架構圖。
一開始的關係圖通常不會漂亮。
應該比較像犯罪現場的白板。
這個連這個。
這個又回頭找那個。
那個明明已經退休,結果還在提供資料。
新系統說自己是主系統。
舊系統說:
「你每天早上的資料還不是我給的。」
某一套看起來只是查詢介面,結果偷偷負責一個很重要的轉換。
另一套看起來非常核心,最後發現只是把資料顯示得比較漂亮。
慢慢畫下去之後,你會開始看到一些很有趣的事情。
例如一個「新系統」其實只是長在老系統旁邊。
一個「已經汰換的系統」其實還控制著某個入口。
一個「只是暫時用一下」的方案,暫時了十五年。
而是:
大家終於開始講同一件事。
以前問某筆資料從哪裡來,三個人會給三個答案。
盤點之後,至少可以說:
「目前我們確認,它從這裡建立,在這裡被修改,最後在那裡被使用。」
注意,是「目前確認」。
這四個字很重要。
因為治理不是假裝什麼都知道。
治理是知道:
哪些已經確定。
哪些還沒有確定。
哪些只是歷史經驗。
哪些必須再找證據。
這比一張看起來什麼都很完整、其實一半靠猜的架構圖有用多了。
很多人聽到這裡會期待一個很帥的結局。
例如:
「然後我們把全部舊系統淘汰,半年後成功上線全新平台。」
很抱歉。
這裡是奇聞車失事。
不是產品發表會。
真正的結局通常樸實很多。
有些香菇留下來。
有些被標記準備退休。
有些先限制它不要繼續長。
有些確定不能動,就先把周圍整理乾淨。
有些原本以為可以拔,研究之後發現:
目前最好還是不要。
但差別在於,以前是:
不知道為什麼不能動。
後來變成:
知道它為什麼現在不能動。
這兩句話只差幾個字。
治理成熟度卻差非常多。
老,其實不是問題。
一套四十年的系統,只要有人知道:
它負責什麼。
誰在使用。
資料從哪裡來。
資料到哪裡去。
誰可以改。
什麼時候可以停。
出了問題要怎麼復原。
它依然可以是一套可治理的系統。
真正麻煩的是一個五年前才做的系統,卻沒有人能回答以上任何一題。
所以後來我越來越不喜歡單純用「Legacy」形容這種東西。
因為很多時候,問題不在年代。
問題在於:
知識有沒有被留下來。
當系統缺乏文件與治理,組織就會自己長出一套傳說。
「這台不能關。」
「這個一定要 Administrator 才能跑。」
「那個服務每天一定要重開。」
「這張表不要碰。」
「這個帳號不能改密碼。」
這些話有些是真的。
有些曾經是真的。
有些可能從來沒有真的過。
但因為沒有人敢驗證,最後全部會變成同一種東西:
祖訓。
最危險的不是祖訓存在。
而是沒有人知道哪一條祖訓背後還有真實依賴。
所以治理的其中一項工作,其實很像考古。
不是立刻推翻傳說。
而是一條一條去問:
「當年為什麼會有這句話?」
我們只是第一次把香菇數清楚。
知道哪些是同一批。
哪些是後來長的。
哪些已經乾掉。
哪些還在供應大家每天的晚餐。
哪些最好先不要碰。
然後開始補上:
名字。
責任。
關係。
來源。
歷史。
還有最重要的——
下一個人不用再從傳說開始。
如果有一天真的要換掉這段木頭,也不再是因為有人拍桌子說:
「這東西太舊了,全部重做。」
而是因為我們已經知道,可以從哪裡開始,一塊一塊安全地換。
至少目前不是。
這是一個比較普通、但我覺得更重要的結局:
一套沒有人完整交接的系統,重新變成了一套可以被理解的系統。
它還是老。
還是很奇怪。
有些地方還是讓人看了會沉默三秒。
但至少下一次有人問:
「這個可以關嗎?」
答案不再只是:
「以前的人說不行。」
段木種香菇的故事,就先到這裡。
接下來的「奇聞車失事」,不一定都跟老系統有關。
有的發生在網路。
有的發生在帳號。
有的發生在備份。
有的發生在雲端。
有的發生在一份大家都以為沒問題的設定檔。
有的甚至只是某個人說了一句:
「這個應該沒有人用了吧?」
然後故事就開始了。
資訊安全最有趣的地方,大概就是這樣。
真正令人印象深刻的事故,通常不是因為技術有多高深。
而是因為在事故發生之前,
所有事情看起來都很合理。
這只是第一台車。
後面還很多。
歡迎繼續收看跟追蹤 ——
資訊安全奇聞車失事。